#!/usr/bin/env python3
#coding:utf-8

__author__ = 'xmxoxo'


'''
输入一个文件，里边每一行是一串数字，你需要做的是对这串数字去重，里边出现重复的数字只保留最开始出现的位置。
例如“12233354”去重后变成“12354”， “66666668”变成“68”，“212256632”去重后变成“21563”
然后将每一行这些去重后的数从大到小排序 
例如输入文件是：
112233354
66666668
212256632
输出是
21563
12354
68


运行结果：
---------- python36 ----------
21563
12354
68

输出完成 (耗时: 0 秒)
'''


# 读入文件
def readtxtfile(fname):
    pass
    with open(fname,'r',encoding='utf-8') as f:  
        data=f.read()
    return data

#处理字符串，并转换成数字
def mycover(txt):
	rt = []
	kt = []
	for x in list(txt):
		if not x in kt:
			rt.append(x)
			kt.append(x)
	vt = int(''.join(rt))
	return vt

#主程序
def main(filename):
    #读文件，拆分成行
	txt = readtxtfile(filename)
	lstLine = txt.split('\n')
    #过滤，转换成数字存到list
	lstResult=[]
	for x in lstLine:
		value = mycover(x)
		lstResult.append(value)
	
	#排序
	lstResult.sort(reverse=1)
	#输出结果或者保存到文件
	for x in lstResult:
		print(x)

if __name__ == '__main__':
    pass
    main('./dat.txt')

